During approximately the last 30 years dramatic advances in technology—for example, the development of the minicomputer, the rise of the personal computer, and the emergence of the Internet—have revolutionized the way information is created, stored, shared, and used. Today, as technology continues to advance and improve, new breakthroughs are transforming the world once again. The foundation for the current transformation is the combination of an increasing diversity of ever more powerful devices, and the expanding data storage capacity in large scale networked data centers (“the cloud”) that are accessed through the growing ubiquity of broadband networks that comprise the Internet. The capabilities of such technologies are supporting the movement of computing resources, including both consumer and business-oriented applications, from the desktop or enterprise environment out to the Internet as hosted services.
Under such a cloud-computing model, locally installed software on a client platform may be replaced, supplemented, or blended with a service component that is delivered over a network. Such models can often give customers more choices and flexibility by delivering software solutions and user experiences that can typically be rapidly deployed and accompanied by value-added services. In addition to providing application services, cloud-based computing can also typically provide data sharing and storage capabilities for users to access, collaborate in, and share rich data that leverages the global cloud-computing footprint. Here, files are typically transferred between endpoint devices on the cloud such as PCs (personal computers) and portable devices like mobile phones. Typically, one single file transfer protocol is utilized where all the endpoints sharing files must communicate using that particular protocol. For example, file sharing systems and services like BitTorrent and Napster might use a variety of different network structures, including client-server, pure peer-to-peer, hybrid peer-to-peer, and combinations thereof, but the endpoints need to utilize a globally consistent protocol to ensure proper communication.
While service platforms in the cloud are expected to provide attractive, feature-rich solutions to customers that are well managed, robust, and cost-effective, it is desirable to have effective and efficient ways to transfer data between client devices using the service. In particular, more flexible and extensible transfer mechanisms are desirable.
This Background is provided to introduce a brief context for the Summary and Detailed Description that follow. This Background is not intended to be an aid in determining the scope of the claimed subject matter nor be viewed as limiting the claimed subject matter to implementations that solve any or all of the disadvantages or problems presented above.